#ifndef SK_GAME_LEVEL_H
#define SK_GAME_LEVEL_H

#include <QString>
#include <QVector>
#include <QColor>

#include "sk_game_forwards.h"

class QDomElement;
class QDomDocument;

namespace sk
{

    class GameLevel
    {
    public:
        GameLevel();
        ~GameLevel();
        QString name() const;
        void setName(QString name);
        GameShapeRef addShape(void*);

        QVector <GameShapeRef> shapes;
        QVector <GameShapeRef> dropShapes;

        void serialize(QDomDocument * doc, QDomElement * e);
        bool deserialize(QDomElement * e);
        GameShape * shape(QDomElement * s);       

        int w, h;
        float gx, gy;
        int num;
        QColor color;
    private:
        QString _name;

    };

}

#endif // SK_GAME_LEVEL_H
